package io.adrainty.bolee.insurance.models.bo;

import com.baomidou.mybatisplus.annotation.TableName;
import io.adrainty.bolee.framework.commons.basic.BaseBO;
import io.adrainty.bolee.framework.commons.basic.EnableEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.math.BigDecimal;

/**
 * <p>InsurancePlanEntity</p>
 *
 * @author AdRainty
 * @version V1.0.0
 * @description 保险计划
 * @since 2025/8/12 10:52:04
 */

@Data
@Schema(description = "保险计划")
@EqualsAndHashCode(callSuper = true)
@TableName("tab_insurance_plan")
public class InsurancePlanBO extends BaseBO {

    @Serial
    private static final long serialVersionUID = -4948428269222675058L;

    @Schema(description = "保险商品id")
    private Long insuranceId;

    @Schema(description = "保险方案名称")
    private String planName;

    @Schema(description = "保险方案编号")
    private Long planNo;

    @Schema(description = "保险方案名称补充")
    private String planRemake;

    @Schema(description = "默认定价")
    private BigDecimal price;

    @Schema(description = "默认定价单位：y/d,y/m,y/y")
    private String priceUnit;

    @Schema(description = "每年最高")
    private BigDecimal maxPriceYear;

    @Schema(description = "每月最高")
    private BigDecimal maxPriceMonth;

    @Schema(description = "每周最高")
    private BigDecimal maxPriceWeek;

    @Schema(description = "一次性投入最高")
    private BigDecimal maxPriceAllIn;

    @Schema(description = "排序")
    private Integer sortNo;

    @Schema(description = "数据状态：0正常 1禁用")
    private EnableEnum dataState;

}
